//////////////////////////////////////////////////////////////////////////
#pragma once
#pragma managed
//////////////////////////////////////////////////////////////////////////
using namespace System;
using namespace System::Runtime::InteropServices;
//////////////////////////////////////////////////////////////////////////
NAMESPACE_BEGIN
//////////////////////////////////////////////////////////////////////////
public enum class SmoothType
{
	/// <summary>
	/// CV_BLUR_NO_SCALE
	/// </summary>
	BlurNoScale = CV_BLUR_NO_SCALE,
	/// <summary>
	/// CV_BLUR
	/// </summary>
	Blur = CV_BLUR,
	/// <summary>
	/// CV_GAUSSIAN
	/// </summary>
	Gaussian = CV_GAUSSIAN,
	/// <summary>
	/// CV_MEDIAN
	/// </summary>
	Median = CV_MEDIAN,
	/// <summary>
	/// CV_BILATERAL
	/// </summary>
	Bilateral = CV_BILATERAL,
};

/// <summary>
/// </summary>
public enum class InpaintType
{
	/// <summary>
	/// CV_INPAINT_NS
	/// </summary>
	NS = CV_INPAINT_NS,
	/// <summary>
	/// CV_INPAINT_TELEA
	/// </summary>
	TELEA = CV_INPAINT_TELEA,
};

public enum class ApertureSize
{
	/// <summary>
	/// CV_INPAINT_TELEA
	/// </summary>
	Scharr = CV_SCHARR,
	/// <summary>
	/// CV_INPAINT_TELEA
	/// </summary>
	MaxSobelKSize = CV_MAX_SOBEL_KSIZE,
	/// <summary>
	/// CV_INPAINT_TELEA
	/// </summary>
	Aperture1 = 1,
	Aperture3 = 3,
	Aperture5 = 5,
	Aperture7 = 7,
};

public enum class ColorMapType
{
	/// <summary>
	/// CV_BGR2BGRA
	/// </summary>
	BGR2BGRA = CV_BGR2BGRA,
	/// <summary>
	/// CV_RGB2RGBA
	/// </summary>
	RGB2RGBA = CV_RGB2RGBA,
	/// <summary>
	/// CV_BGRA2BGR
	/// </summary>
	BGRA2BGR = CV_BGRA2BGR,
	/// <summary>
	/// CV_RGBA2RGB
	/// </summary>
	RGBA2RGB = CV_RGBA2RGB,
	/// <summary>
	/// CV_BGR2RGBA
	/// </summary>
	BGR2RGBA = CV_BGR2RGBA,
	/// <summary>
	/// CV_RGB2BGRA
	/// </summary>
	RGB2BGRA = CV_RGB2BGRA,
	/// <summary>
	/// CV_RGBA2BGR
	/// </summary>
	RGBA2BGR = CV_RGBA2BGR,
	/// <summary>
	/// CV_BGRA2RGB
	/// </summary>
	BGRA2RGB = CV_BGRA2RGB,
	/// <summary>
	/// CV_BGR2RGB
	/// </summary>
	BGR2RGB = CV_BGR2RGB,
	/// <summary>
	/// CV_RGB2BGR
	/// </summary>
	RGB2BGR = CV_RGB2BGR,
	/// <summary>
	/// CV_BGRA2RGBA
	/// </summary>
	BGRA2RGBA = CV_BGRA2RGBA,
	/// <summary>
	/// CV_RGBA2BGRA
	/// </summary>
	RGBA2BGRA = CV_RGBA2BGRA,
	/// <summary>
	/// CV_BGR2GRAY
	/// </summary>
	BGR2GRAY = CV_BGR2GRAY,
	/// <summary>
	/// CV_RGB2GRAY
	/// </summary>
	RGB2GRAY = CV_RGB2GRAY,
	/// <summary>
	/// CV_GRAY2BGR
	/// </summary>
	GRAY2BGR = CV_GRAY2BGR,
	/// <summary>
	/// CV_GRAY2RGB
	/// </summary>
	GRAY2RGB = CV_GRAY2RGB,
	/// <summary>
	/// CV_GRAY2BGRA
	/// </summary>
	GRAY2BGRA = CV_GRAY2BGRA,
	/// <summary>
	/// CV_GRAY2RGBA
	/// </summary>
	GRAY2RGBA = CV_GRAY2RGBA,
	/// <summary>
	/// CV_BGRA2GRAY
	/// </summary>
	BGRA2GRAY = CV_BGRA2GRAY,
	/// <summary>
	/// CV_RGBA2GRAY
	/// </summary>
	RGBA2GRAY = CV_RGBA2GRAY,
	/// <summary>
	/// CV_BGR2BGR565
	/// </summary>
	BGR2BGR565 = CV_BGR2BGR565,
	/// <summary>
	/// CV_RGB2BGR565
	/// </summary>
	RGB2BGR565 = CV_RGB2BGR565,
	/// <summary>
	/// CV_BGR5652BGR
	/// </summary>
	BGR5652BGR = CV_BGR5652BGR,
	/// <summary>
	/// CV_BGR5652RGB
	/// </summary>
	BGR5652RGB = CV_BGR5652RGB,
	/// <summary>
	/// CV_BGRA2BGR565
	/// </summary>
	BGRA2BGR565 = CV_BGRA2BGR565,
	/// <summary>
	/// CV_RGBA2BGR565
	/// </summary>
	RGBA2BGR565 = CV_RGBA2BGR565,
	/// <summary>
	/// CV_BGR5652BGRA
	/// </summary>
	BGR5652BGRA = CV_BGR5652BGRA,
	/// <summary>
	/// CV_BGR5652RGBA
	/// </summary>
	BGR5652RGBA = CV_BGR5652RGBA,
	/// <summary>
	/// CV_GRAY2BGR565
	/// </summary>
	GRAY2BGR565 = CV_GRAY2BGR565,
	/// <summary>
	/// CV_BGR5652GRAY
	/// </summary>
	BGR5652GRAY = CV_BGR5652GRAY,
	/// <summary>
	/// CV_BGR2BGR555
	/// </summary>
	BGR2BGR555 = CV_BGR2BGR555,
	/// <summary>
	/// CV_RGB2BGR555
	/// </summary>
	RGB2BGR555 = CV_RGB2BGR555,
	/// <summary>
	/// CV_BGR5552BGR
	/// </summary>
	BGR5552BGR = CV_BGR5552BGR,
	/// <summary>
	/// CV_BGR5552RGB
	/// </summary>
	BGR5552RGB = CV_BGR5552RGB,
	/// <summary>
	/// CV_BGRA2BGR555
	/// </summary>
	BGRA2BGR555 = CV_BGRA2BGR555,
	/// <summary>
	/// CV_RGBA2BGR555
	/// </summary>
	RGBA2BGR555 = CV_RGBA2BGR555,
	/// <summary>
	/// CV_BGR5552BGRA
	/// </summary>
	BGR5552BGRA = CV_BGR5552BGRA,
	/// <summary>
	/// CV_BGR5552RGBA
	/// </summary>
	BGR5552RGBA = CV_BGR5552RGBA,
	/// <summary>
	/// CV_GRAY2BGR555
	/// </summary>
	GRAY2BGR555 = CV_GRAY2BGR555,
	/// <summary>
	/// CV_BGR5552GRAY
	/// </summary>
	BGR5552GRAY = CV_BGR5552GRAY,
	/// <summary>
	/// CV_BGR2XYZ
	/// </summary>
	BGR2XYZ = CV_BGR2XYZ,
	/// <summary>
	/// CV_RGB2XYZ
	/// </summary>
	RGB2XYZ = CV_RGB2XYZ,
	/// <summary>
	/// CV_XYZ2BGR
	/// </summary>
	XYZ2BGR = CV_XYZ2BGR,
	/// <summary>
	/// CV_XYZ2RGB
	/// </summary>
	XYZ2RGB = CV_XYZ2RGB,
	/// <summary>
	/// CV_BGR2YCrCb
	/// </summary>
	BGR2YCrCb = CV_BGR2YCrCb,
	/// <summary>
	/// CV_RGB2YCrCb
	/// </summary>
	RGB2YCrCb = CV_RGB2YCrCb,
	/// <summary>
	/// CV_YCrCb2BGR
	/// </summary>
	YCrCb2BGR = CV_YCrCb2BGR,
	/// <summary>
	/// CV_YCrCb2RGB
	/// </summary>
	YCrCb2RGB = CV_YCrCb2RGB,
	/// <summary>
	/// CV_BGR2HSV
	/// </summary>
	BGR2HSV = CV_BGR2HSV,
	/// <summary>
	/// CV_RGB2HSV
	/// </summary>
	RGB2HSV = CV_RGB2HSV,
	/// <summary>
	/// CV_BGR2Lab
	/// </summary>
	BGR2Lab = CV_BGR2Lab,
	/// <summary>
	/// CV_RGB2Lab
	/// </summary>
	RGB2Lab = CV_RGB2Lab,
	/// <summary>
	/// CV_BayerBG2BGR
	/// </summary>
	BayerBG2BGR = CV_BayerBG2BGR,
	/// <summary>
	/// CV_BayerGB2BGR
	/// </summary>
	BayerGB2BGR = CV_BayerGB2BGR,
	/// <summary>
	/// CV_BayerRG2BGR
	/// </summary>
	BayerRG2BGR = CV_BayerRG2BGR,
	/// <summary>
	/// CV_BayerGR2BGR
	/// </summary>
	BayerGR2BGR = CV_BayerGR2BGR,
	/// <summary>
	/// CV_BayerBG2RGB
	/// </summary>
	BayerBG2RGB = CV_BayerBG2RGB,
	/// <summary>
	/// CV_BayerGB2RGB
	/// </summary>
	BayerGB2RGB = CV_BayerGB2RGB,
	/// <summary>
	/// CV_BayerRG2RGB
	/// </summary>
	BayerRG2RGB = CV_BayerRG2RGB,
	/// <summary>
	/// CV_BayerGR2RGB
	/// </summary>
	BayerGR2RGB = CV_BayerGR2RGB,
	/// <summary>
	/// CV_BGR2Luv
	/// </summary>
	BGR2Luv = CV_BGR2Luv,
	/// <summary>
	/// CV_RGB2Luv
	/// </summary>
	RGB2Luv = CV_RGB2Luv,
	/// <summary>
	/// CV_BGR2HLS
	/// </summary>
	BGR2HLS = CV_BGR2HLS,
	/// <summary>
	/// CV_RGB2HLS
	/// </summary>
	RGB2HLS = CV_RGB2HLS,
	/// <summary>
	/// CV_HSV2BGR
	/// </summary>
	HSV2BGR = CV_HSV2BGR,
	/// <summary>
	/// CV_HSV2RGB
	/// </summary>
	HSV2RGB = CV_HSV2RGB,
	/// <summary>
	/// CV_Lab2BGR
	/// </summary>
	Lab2BGR = CV_Lab2BGR,
	/// <summary>
	/// CV_Lab2RGB
	/// </summary>
	Lab2RGB = CV_Lab2RGB,
	/// <summary>
	/// CV_Luv2BGR
	/// </summary>
	Luv2BGR = CV_Luv2BGR,
	/// <summary>
	/// CV_Luv2RGB
	/// </summary>
	Luv2RGB = CV_Luv2RGB,
	/// <summary>
	/// CV_HLS2BGR
	/// </summary>
	HLS2BGR = CV_HLS2BGR,
	/// <summary>
	/// CV_HLS2RGB
	/// </summary>
	HLS2RGB = CV_HLS2RGB,
};

public enum class TransformFlag
{
	/// <summary>
	/// CV_INTER_NN
	/// </summary>
	InterNN = CV_INTER_NN,
	/// <summary>
	/// CV_INTER_LINEAR
	/// </summary>
	InterLinear = CV_INTER_LINEAR,
	/// <summary>
	/// CV_INTER_CUBIC
	/// </summary>
	InterCubic = CV_INTER_CUBIC,
	/// <summary>
	/// CV_INTER_AREA
	/// </summary>
	InterArea = CV_INTER_AREA,

	/// <summary>
	/// CV_WARP_FILL_OUTLIERS
	/// </summary>
	WarpFillOutliers = CV_WARP_FILL_OUTLIERS,
	/// <summary>
	/// CV_WARP_INVERSE_MAP
	/// </summary>
	WarpInverseMap = CV_WARP_INVERSE_MAP,
};

/// <summary>
/// ShapeType, Structure Element
/// </summary>
public enum class ShapeType
{
	/// <summary>
	/// CV_SHAPE_RECT
	/// </summary>
	Rect = CV_SHAPE_RECT,
	/// <summary>
	/// CV_SHAPE_CROSS
	/// </summary>
	Cross = CV_SHAPE_CROSS,
	/// <summary>
	/// CV_SHAPE_ELLIPSE
	/// </summary>
	Ellipse = CV_SHAPE_ELLIPSE,
	/// <summary>
	/// CV_SHAPE_CUSTOM
	/// </summary>
	Custom = CV_SHAPE_CUSTOM,
};

/// <summary>
/// MorphologyMethod
/// </summary>
public enum class MorphologyMethod
{
	/// <summary>
	/// CV_MOP_OPEN
	/// </summary>
	Open = CV_MOP_OPEN,
	/// <summary>
	/// CV_MOP_CLOSE
	/// </summary>
	Close = CV_MOP_CLOSE,
	/// <summary>
	/// CV_MOP_GRADIENT
	/// </summary>
	Gradient = CV_MOP_GRADIENT,
	/// <summary>
	/// CV_MOP_TOPHAT
	/// </summary>
	Tophat = CV_MOP_TOPHAT,
	/// <summary>
	/// CV_MOP_BLACKHAT
	/// </summary>
	Blackhat = CV_MOP_BLACKHAT,
};

/// <summary>
/// TemplateMatchMethod
/// </summary>
public enum class TemplateMatchMethod
{
	/// <summary>
	///  CV_TM_SQDIFF
	/// </summary>
	Sqdiff =  CV_TM_SQDIFF,
	/// <summary>
	///  CV_TM_SQDIFF_NORMED
	/// </summary>
	SqdiffNormed =  CV_TM_SQDIFF_NORMED,
	/// <summary>
	///  CV_TM_CCORR
	/// </summary>
	Ccorr =  CV_TM_CCORR,
	/// <summary>
	///  CV_TM_CCORR_NORMED
	/// </summary>
	CcorrNormed =  CV_TM_CCORR_NORMED,
	/// <summary>
	///  CV_TM_CCOEFF
	/// </summary>
	Ccoeff =  CV_TM_CCOEFF,
	/// <summary>
	///  CV_TM_CCOEFF_NORMED
	/// </summary>
	CcoeffNormed =  CV_TM_CCOEFF_NORMED,
};

/// <summary>
///  LKFlowFlag
/// </summary>
[FlagsAttribute]
public enum class LKFlowFlag
{
	/// <summary>
	///  CV_LKFLOW_PYR_A_READY
	/// </summary>
	PyrAReady =  CV_LKFLOW_PYR_A_READY,
	/// <summary>
	///  CV_LKFLOW_PYR_B_READY
	/// </summary>
	PyrBReady =  CV_LKFLOW_PYR_B_READY,
	/// <summary>
	///  CV_LKFLOW_INITIAL_GUESSES
	/// </summary>
	InitialGuesses =  CV_LKFLOW_INITIAL_GUESSES,
	/// <summary>
	///  CV_LKFLOW_GET_MIN_EIGENVALS
	/// </summary>
	GetMinEigenvals =  CV_LKFLOW_GET_MIN_EIGENVALS,
};

public enum class PolyAproxMethod
{
	/// <summary>
	/// CV_POLY_APPROX_DP
	/// </summary>
	DP = CV_POLY_APPROX_DP,
};

public enum class FindDominantMethod
{
	/// <summary>
	/// CV_DOMINANT_IPAN
	/// </summary>
	IPAN = CV_DOMINANT_IPAN
};

public enum class ContourMatchMethod
{
	/// <summary>
	/// CV_CONTOURS_MATCH_I1
	/// </summary>
	I1 = CV_CONTOURS_MATCH_I1,
	/// <summary>
	/// CV_CONTOURS_MATCH_I2
	/// </summary>
	I2 = CV_CONTOURS_MATCH_I2,
	/// <summary>
	/// CV_CONTOURS_MATCH_I3
	/// </summary>
	I3 = CV_CONTOURS_MATCH_I3,
};

public enum class ContourTreeMatchMethod
{
	/// <summary>
	///  CV_CONTOUR_TREES_MATCH_I1
	/// </summary>
	I1 =  CV_CONTOUR_TREES_MATCH_I1
};

public enum class OrientationType
{
	/// <summary>
	/// CV_CLOCKWISE
	/// </summary>
	Clockwise = CV_CLOCKWISE,
	/// <summary>
	/// CV_COUNTER_CLOCKWISE
	/// </summary>
	CounterClockwise = CV_COUNTER_CLOCKWISE,
};

public enum class CompareHistMethod
{
	/// <summary>
	/// CV_COMP_CORREL
	/// </summary>
	Correl = CV_COMP_CORREL,
	/// <summary>
	/// CV_COMP_CHISQR
	/// </summary>
	Chisqr = CV_COMP_CHISQR,
	/// <summary>
	/// CV_COMP_INTERSECT
	/// </summary>
	Intersect = CV_COMP_INTERSECT,
	/// <summary>
	/// CV_COMP_BHATTACHARYYA
	/// </summary>
	Bhattacharyya = CV_COMP_BHATTACHARYYA,
};

public enum class CoeffUsageType
{
	/// <summary>
	///  CV_VALUE
	/// </summary>
	Value =  CV_VALUE,
	/// <summary>
	///  CV_ARRAY
	/// </summary>
	Array =  CV_ARRAY,
};

public enum class DistanceTransformMask
{
	/// <summary>
	/// CV_DIST_MASK_3
	/// </summary>
	Mask3 = CV_DIST_MASK_3,
	/// <summary>
	/// CV_DIST_MASK_5
	/// </summary>
	Mask5 = CV_DIST_MASK_5,
	/// <summary>
	/// CV_DIST_MASK_PRECISE
	/// </summary>
	Precise = CV_DIST_MASK_PRECISE,
};

[FlagsAttribute]
public enum class ThreshTypeFlag
{
	/// <summary>
	/// value = value > threshold ? max_value : 0
	/// CV_THRESH_BINARY
	/// </summary>
	Binary = CV_THRESH_BINARY,
	/// <summary>
	/// value = value > threshold ? 0 : max_value
	/// CV_THRESH_BINARY_INV
	/// </summary>
	BinaryInv = CV_THRESH_BINARY_INV,
	/// <summary>
	/// value = value > threshold ? threshold : value
	/// CV_THRESH_TRUNC
	/// </summary>
	Trunc = CV_THRESH_TRUNC,
	/// <summary>
	/// value = value > threshold ? value : 0
	/// CV_THRESH_TOZERO
	/// </summary>
	ToZero = CV_THRESH_TOZERO,
	/// <summary>
	/// value = value > threshold ? 0 : value
	/// CV_THRESH_TOZERO_INV
	/// </summary>
	ToZeroinv = CV_THRESH_TOZERO_INV,
	/// <summary>
	/// value = value > threshold ? 0 : value
	/// CV_THRESH_MASK
	/// </summary>
	Mask = CV_THRESH_MASK,
	/// <summary>
	/// use Otsu algorithm to choose the optimal threshold value;
	/// combine the flag with one of the above CV_THRESH_* values
	/// CV_THRESH_OTSU
	/// </summary>
	Otsu = CV_THRESH_OTSU,
};

public enum class AdaptiveThreshMethod
{
	/// <summary>
	/// CV_ADAPTIVE_THRESH_MEAN_C
	/// </summary>
	MeanC = CV_ADAPTIVE_THRESH_MEAN_C,
	/// <summary>
	/// CV_ADAPTIVE_THRESH_GAUSSIAN_C
	/// </summary>
	GaussianC = CV_ADAPTIVE_THRESH_GAUSSIAN_C,
};

[FlagsAttribute]
public enum class FloodFillFlag
{
	/// <summary>
	/// CV_FLOODFILL_FIXED_RANGE
	/// </summary>
	Connected4 = 4,
	/// <summary>
	/// CV_FLOODFILL_MASK_ONLY
	/// </summary>
	Connected8 = 8,
	/// <summary>
	/// CV_FLOODFILL_FIXED_RANGE
	/// </summary>
	FixedRange = CV_FLOODFILL_FIXED_RANGE,
	/// <summary>
	/// CV_FLOODFILL_MASK_ONLY
	/// </summary>
	MaskOnly = CV_FLOODFILL_MASK_ONLY,
};

public enum class HoughMethod
{
	/// <summary>
	/// CV_HOUGH_STANDARD
	/// </summary>
	Standard = CV_HOUGH_STANDARD,
	/// <summary>
	/// CV_HOUGH_PROBABILISTIC
	/// </summary>
	Probabilistic  = CV_HOUGH_PROBABILISTIC,
	/// <summary>
	/// CV_HOUGH_MULTI_SCALE
	/// </summary>
	MultiScale  = CV_HOUGH_MULTI_SCALE,
	/// <summary>
	/// CV_HOUGH_GRADIENT
	/// </summary>
	Gradient  = CV_HOUGH_GRADIENT,
};

[FlagsAttribute]
public enum class HaarFlag
{
	/// <summary>
	/// CV_HAAR_DO_CANNY_PRUNING
	/// </summary>
	DoCannyPruning = CV_HAAR_DO_CANNY_PRUNING,
	/// <summary>
	/// CV_HAAR_SCALE_IMAGE
	/// </summary>
	ScaleImage = CV_HAAR_SCALE_IMAGE,
	/// <summary>
	/// CV_HAAR_FIND_BIGGEST_OBJECT
	/// </summary>
	FindBiggestObject = CV_HAAR_FIND_BIGGEST_OBJECT,
	/// <summary>
	/// CV_HAAR_DO_ROUGH_SEARCH
	/// </summary>
	DoRoughSearch  = CV_HAAR_DO_ROUGH_SEARCH,
};

public enum class FindHomographyMethod
{
	/// <summary>
	/// DEFAULT
	/// <summary>
	Default = 0,
	/// <summary>
	/// CV_LMEDS
	/// </summary>
	Lmeds = CV_LMEDS,
	/// <summary>
	/// CV_RANSAC
	/// </summary>
	Ransac = CV_RANSAC,
};

[FlagsAttribute]
public enum class FindChessboardCornerFlag
{
	/// <summary>
	/// CV_CALIB_CB_ADAPTIVE_THRESH
	/// </summary>
	AdaptiveThresh = CV_CALIB_CB_ADAPTIVE_THRESH,
	/// <summary>
	/// CV_CALIB_CB_NORMALIZE_IMAGE
	/// </summary>
	NormalizeImage = CV_CALIB_CB_NORMALIZE_IMAGE,
	/// <summary>
	/// CV_CALIB_CB_FILTER_QUADS
	/// </summary>
	FilterQuads = CV_CALIB_CB_FILTER_QUADS,
};

[FlagsAttribute]
public enum class CalibrateCamraFlag
{
	/// <summary>
	/// CV_CALIB_USE_INTRINSIC_GUESS
	/// </summary>
	UseIntrinsicGuess = CV_CALIB_USE_INTRINSIC_GUESS,
	/// <summary>
	/// CV_CALIB_FIX_ASPECT_RATIO
	/// </summary>
	FixAspectRatio = CV_CALIB_FIX_ASPECT_RATIO,
	/// <summary>
	/// CV_CALIB_FIX_PRINCIPAL_POINT
	/// </summary>
	FixPrincipalPoint = CV_CALIB_FIX_PRINCIPAL_POINT,
	/// <summary>
	/// CV_CALIB_ZERO_TANGENT_DIST
	/// </summary>
	ZeroTangentDist = CV_CALIB_ZERO_TANGENT_DIST,
	/// <summary>
	/// CV_CALIB_FIX_FOCAL_LENGTH
	/// </summary>
	FixFocalLength = CV_CALIB_FIX_FOCAL_LENGTH,
	/// <summary>
	/// CV_CALIB_FIX_K1
	/// </summary>
	FixK1 = CV_CALIB_FIX_K1,
	/// <summary>
	/// CV_CALIB_FIX_K2
	/// </summary>
	FixK2 = CV_CALIB_FIX_K2,
	/// <summary>
	/// CV_CALIB_FIX_K3
	/// </summary>
	FixK3 = CV_CALIB_FIX_K3,
	/// <summary>
	/// CV_CALIB_FIX_INTRINSIC
	/// </summary>
	FixIntrinsic = CV_CALIB_FIX_INTRINSIC,
	/// <summary>
	/// CV_CALIB_SAME_FOCAL_LENGTH
	/// </summary>
	SameFocalLength = CV_CALIB_SAME_FOCAL_LENGTH,
	/// <summary>
	/// CV_CALIB_ZERO_DISPARITY
	/// </summary>
	ZeroDisparity = CV_CALIB_ZERO_DISPARITY,
};

[FlagsAttribute]
public enum class FindFundamentalMatMethod
{
	/// <summary>
	/// CV_FM_7POINT
	/// </summary>
	Point7 = CV_FM_7POINT,
	/// <summary>
	/// CV_FM_8POINT
	/// </summary>
	Point8 = CV_FM_8POINT,
	/// <summary>
	/// CV_FM_LMEDS_ONLY
	/// </summary>
	LmedsOnly = CV_FM_LMEDS_ONLY,
	/// <summary>
	/// CV_FM_RANSAC_ONLY
	/// </summary>
	RansacOnly = CV_FM_RANSAC_ONLY,
	/// <summary>
	/// CV_FM_LMEDS
	/// </summary>
	Lmeds = CV_FM_LMEDS,
	/// <summary>
	/// CV_FM_RANSAC
	/// </summary>
	Ransac = CV_FM_RANSAC,
};

public enum StereoBlockMatchFilterType
{
	/// <summary>
	/// CV_STEREO_BM_NORMALIZED_RESPONSE
	/// </summary>
	NormalizedResponse = CV_STEREO_BM_NORMALIZED_RESPONSE,
};

public enum StereoBlockMatchMode
{
	/// <summary>
	/// CV_STEREO_BM_BASIC
	/// </summary>
	Basic = CV_STEREO_BM_BASIC,
	/// <summary>
	/// CV_STEREO_BM_FISH_EYE
	/// </summary>
	FishEye = CV_STEREO_BM_FISH_EYE,
	/// <summary>
	/// CV_STEREO_BM_NARROW
	/// </summary>
	Narrow = CV_STEREO_BM_NARROW,
};

//////////////////////////////////////////////////////////////////////////
NAMESPACE_END
//////////////////////////////////////////////////////////////////////////